package cn.xiaoniu.day01;

import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

import cn.xiaoniu.day01.bean.RatingBean;

/**
 * 每个用户的uid和评分的平均值
 * 1:读取数据
 * 2：数据的解析
 * 3：分组（把相同的数据（key相同）放到一起）   ----> 放进map中实现的
 * 4:求平均分
 * 5：数据保存，数据输出
 * @author root
 *
 */
public class TestMain2 {
	public static void main(String[] args) {
		//直接使用第一个需求里面的代码，获取分组数据
		Map<String, List<RatingBean>> map = TestMain1.getMap();
		Set<Entry<String,List<RatingBean>>> entrySet = map.entrySet();
		for (Entry<String, List<RatingBean>> entry : entrySet) {
			String key = entry.getKey();
			List<RatingBean> list = entry.getValue();
			float avg = getAvg(list);
			System.out.println("uid:"+key+"\tavg:"+String.format("%.2f", avg));
		}
		
	}
	/**
	 * 求取平均分的
	 * @param list
	 * @return
	 */
	private static float getAvg(List<RatingBean> list) {
		int sum = 0;
		int count = 0;
		for (RatingBean ratingBean : list) {
			sum=sum+ratingBean.getRate();
			count++;
		}
		return sum*1.0f/count;
	}

}
